home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hackers Underworld 2: Forbidden Knowledge
/
Hackers Underworld 2: Forbidden Knowledge.iso
/
LEGAL
/
EFF405.TXT
< prev
next >
Wrap
Text File
|
1994-07-17
|
30KB
|
587 lines
////////////// //////////////// //////////////
//// //// ////
_________ /////////________ /////////_______ /////////________________
//// //// ////
////////////////// //// ////
//////////////////////////////////////////////////////////////////////
EFFector Online 4.05 1/7/1993 editors@eff.org
A Publication of the Electronic Frontier Foundation ISSN 1062-9424
-==--==--==-<>-==--==--==-
[Editor's Note: With this issue, EFFector Online will begin to
examine the technical, social, moral, legal and political issues
surrounding the uses of encryption in computer-based communications.
While many in various online communities around the world are highly
conversant with cryptography and encryption, many others are not.
Because of this we begin our series with Larry Loen's superb primer on
basic cryptography. This article originally appeared as a proto-FAQ
in the Usenet group, sci.crypt. Our readers with an interest in
learning about encryption on an ad-hoc basis are advised to read
sci-crypt and to participate in it. As with any other place on
the Net, "Ask. People know.How the world works is not a secret." -GV]
-==--==--==-<>-==--==--==-
HIDING DATA IN PLAIN SIGHT
Some Key Questions About Cryptography
BY LARRY LOEN (lwloen@rchland.vnet.ibm.com)
NOTE: The information and opinions expressed in this article
are those of the author and his collaborators and do not
represent the final word on these matters or the opinions,
views or policies of any company or organization.
Q1: What is cryptography? How, basically, does it work?
What are the basic terms used to describe cryptography?
Cryptography is the art and science of hiding data in plain sight.
It is also the art and science of stealing data hidden in plain sight.
There are at least three players. The first is the one who has
the original data, which is presumed to have high value to
others. This data is presumed to reside in a safe place that
no one but the originator and his/her friends can see. (If the
originator cannot physically secure the original data,
cryptography is a waste of time). Now, for cryptography to be
necessary, the data must, for some reason, have to be
transmitted over some public means such as a telephone line, a
letter through the mail; any means that cannot be physically
secured by the owner to a legitimate receiver of the data. The
receiver is the second party.
Cryptography is any transformation of the data into a form
that cannot (it is hoped) be recovered in a timely manner by an
unknown party, which is called here 'the opponent'.
The transformation is not some physical means, such as hiding the
data on microfilm or some such; it is some mathematical
transformation that scrambles the original data in a way
that the receiver on the other end knows how to unscramble.
The process of scrambling (transforming) the data is called
'encryption'. Unscrambling is called decryption. An
encryption system has two basic parts. 1) A general
transformation process called the encryption algorithm. 2) A
customization of that algorithm called a cipher key. The
sender and the receiver must find a secure means to exchange
the cipher key. That is, the same public means used to send
the encrypted data cannot be used. This may be a difficult
problem, and has a variety of solutions, but will be assumed
solved for now. Once the key is successfully exchanged, the
two parties can separately implement the encryption algorithm
and its inverse, the decryption algorithm.
At this point, the data can be transmitted in its encrypted form
using the agreed-to key to customize the general algorithm to a
particular version that transforms the data. Since the
encrypted data is sent over some insecure medium, it is assumed
that an opponent (the third party) may intercept the data,
possibly without being detected, and analyze the encrypted
text, also called cipher text.
In theory, any encryption system can be defeated, given enough
time. The amount of time it takes cannot always be predicted.
This is because the opponent can supply extra information
that might reduce the computation time a great deal. For one
thing, the sender and receiver may make a very poor choice of
cipher key. If the opponent has a list of poor keys, a
computer may permit a large list of such keys to be tried;
if the poor key actually used is on the list, the opponent wins
even if the encryption system is otherwise secure.
All methods the opponent dreams up have one thing in common.
It is an attempt to recover the original data without advance
knowledge of the particular cipher key. There are a wide
variety of means available and some will be described later on.
The name for any of these methods is called 'cryptanalysis' and
the person who does the penetration is called the cryptanalyst.
In diagram form (the boxes indicated physically secure areas)--
-------------| --------------
Sender | | Receiver
"x" | | cipher key
cipher key |-------> y ----->|
y=Encrypt( | | | x=Decrypt(y,key)
x,key) | | |
-------------| | |-------------
V
Opponent
z = Cryptanalysis(y,Encrypt Algorithm,
general knowledge of x, guesses about
secret key, statistical analysis of y)
The opponent uses Cryptanalysis of message y until
the value z is either equal to x or z is "enough" like
x to accomplish the illicit purpose. The sender and
receiver win whenever recovery of z takes too much time.
Q2: I have invented this wonderful, fast-running encryption
algorithm. How do I find out if it is as great as I think it
is?
It is one thousand times easier to invent an encryption
algorithm than it is to discover if it is worthwhile. Most
designers who have not learned cryptography are used to dealing
with mathematics that discusses the general case. But,
successful cryptanalysis often relies on any number of
fortuitous special cases that the designer must anticipate lest
a given key and data stream create even one of them. Many
practical illicit decryptions astonish the newcomer; they seem
like cheating, but they do work.
It is easy to get superficial reassurance that a poor
encryption algorithm seems good. Most people reading this file
have probably attempted the kinds of cryptograms one finds in
newspapers and puzzle books (usually called 'cryptograms').
That encryption algorithm is simple -- one replaces each letter
of the alphabet with exactly one other letter of the alphabet.
In less than an hour, sixth graders have been taught to
successfully solve this kind of cipher. Yet, it has 26
factorial possible keys (about 2 to the 88th power), which is
much more than the 2 to the 56th keys of the well known
commercial algorithm, DES. A large number of keys is
important, but is not by itself secure. Obviously, the
successful sixth graders do not attempt all possible keys.
They use their general knowledge of English to shortcut the
process and eliminate all but a few possible keys.
Since the gross mathematical properties of an encryption
system prove nothing, only cryptanalytic attacks matter
and these require some study.
Q3: What is an "attack"?
An attack is a particular form of cryptanalysis. There are
generic types of attacks, and some very specific attacks. In
the end, cryptography is a war of specifics. The opponent
will either invent a very clever and unique attack or will
customize a general attack to suit the need